﻿using System;


namespace TopBuilds.Restaurant.Data
{
    public class Bill
    {
        #region 属性
        private int _id;
        private int _tableId;
        private int _businessState;
        private int _headCount;
        private int _discountOptionId;
        private int _pay;
        private int _totalPrice;
        private DateTime _checkInTime;
        private DateTime _checkOutTime;
        private int _serviceTip;
        private int _checkOutMode;
        #endregion

        #region 构造
        public Bill()
        {
            _tableId             = 0;
            _businessState       = 0;
            _headCount           = 0;
            _discountOptionId    = 0;
            _pay                 = 0;
            _totalPrice          = 0;
            _checkInTime         = DateTime.Now;
            _checkOutTime        = DateTime.Now;
            _serviceTip          = 0;
            _checkOutMode        = 0;
        }

        public Bill(int tableId)
        {
            _tableId             = tableId;
            _businessState       = 0;
            _headCount           = 0;
            _discountOptionId    = 0;
            _pay                 = 0;
            _totalPrice          = 0;
            _checkInTime         = DateTime.Now;
            _checkOutTime        = DateTime.Now;
            _serviceTip          = 0;
            _checkOutMode        = 0;
        }

        public Bill(int tableId, int businessState)
        {
            _tableId            = tableId;
            _businessState      = businessState;
            _headCount          = 0;
            _discountOptionId   = 0;
            _pay                = 0;
            _totalPrice         = 0;
            _checkInTime        = DateTime.Now;
            _checkOutTime       = DateTime.Now;
            _serviceTip         = 0;
            _checkOutMode       = 0;
        }

        public Bill(int tableId, int businessState, int headCount)
        {
            _tableId            = tableId;
            _businessState      = businessState;
            _headCount          = headCount;
            _discountOptionId   = 0;
            _pay                = 0;
            _totalPrice         = 0;
            _checkInTime        = DateTime.Now;
            _checkOutTime       = DateTime.Now;
            _serviceTip         = 0;
            _checkOutMode       = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId)
        {
            _tableId            = tableId;
            _businessState      = businessState;
            _headCount          = headCount;
            _discountOptionId   = discountOptionId;
            _pay                = 0;
            _totalPrice         = 0;
            _checkInTime        = DateTime.Now;
            _checkOutTime       = DateTime.Now;
            _serviceTip         = 0;
            _checkOutMode       = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay)
        {
            _tableId           = tableId;
            _businessState     = businessState;
            _headCount         = headCount;
            _discountOptionId  = discountOptionId;
            _pay               = pay;
            _totalPrice        = 0;
            _checkInTime       = DateTime.Now;
            _checkOutTime      = DateTime.Now;
            _serviceTip        = 0;
            _checkOutMode      = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay, int totalPrice)
        {
            _tableId          = tableId;
            _businessState    = businessState;
            _headCount        = headCount;
            _discountOptionId = discountOptionId;
            _pay              = pay;
            _totalPrice       = totalPrice;
            _checkInTime      = DateTime.Now;
            _checkOutTime     = DateTime.Now;
            _serviceTip       = 0;
            _checkOutMode     = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay, int totalPrice, DateTime checkInTime)
        {
            _tableId          = tableId;
            _businessState    = businessState;
            _headCount        = headCount;
            _discountOptionId = discountOptionId;
            _pay              = pay;
            _totalPrice       = totalPrice;
            _checkInTime      = checkInTime;
            _checkOutTime     = DateTime.Now;
            _serviceTip       = 0;
            _checkOutMode     = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay, int totalPrice, DateTime checkInTime, DateTime checkOutTime)
        {
            _tableId          = tableId;
            _businessState    = businessState;
            _headCount        = headCount;
            _discountOptionId = discountOptionId;
            _pay              = pay;
            _totalPrice       = totalPrice;
            _checkInTime      = checkInTime;
            _checkOutTime     = checkOutTime;
            _serviceTip       = 0;
            _checkOutMode     = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay, int totalPrice, DateTime checkInTime, DateTime checkOutTime,int serviceTip)
        {
            _tableId          = tableId;
            _businessState    = businessState;
            _headCount        = headCount;
            _discountOptionId = discountOptionId;
            _pay              = pay;
            _totalPrice       = totalPrice;
            _checkInTime      = checkInTime;
            _checkOutTime     = checkOutTime;
            _serviceTip       = serviceTip;
            _checkOutMode     = 0;
        }

        public Bill(int tableId, int businessState, int headCount, int discountOptionId, int pay, int totalPrice,DateTime checkInTime, DateTime checkOutTime, int serviceTip, int checkOutMode)
        {
            _tableId          = tableId;
            _businessState    = businessState;
            _headCount        = headCount;
            _discountOptionId = discountOptionId;
            _pay              = pay;
            _totalPrice       = totalPrice;
            _checkInTime      = checkInTime;
            _checkOutTime     = checkOutTime;
            _serviceTip       = serviceTip;
            _checkOutMode     = checkOutMode;
        }
        #endregion 


        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public int TableId
        {
            get { return _tableId; }
            set { _tableId = value; }
        }

        public int BusinessState
        {
            get { return _businessState; }
            set { _businessState = value; }
        }

        public int HeadCount
        {
            get { return _headCount; }
            set { _headCount = value; }
        }

        public int DiscountOptionId
        {
            get { return _discountOptionId; }
            set { _discountOptionId = value; }
        }

        public int Pay
        {
            get { return _pay; }
            set { _pay = value; }
        }

        public int TotalPrice
        {
            get { return _totalPrice; }
            set { _totalPrice = value; }
        }

        public DateTime CheckInTime
        {
            get { return _checkInTime; }
            set { _checkInTime = value; }
        }

        public DateTime CheckOutTime
        {
            get { return _checkOutTime; }
            set { _checkOutTime = value; }
        }

        public int ServiceTip
        {
            get { return _serviceTip; }
            set { _serviceTip = value; }
        }

        public int CheckOutMode
        {
            get { return _checkOutMode; }
            set { _checkOutMode = value; }
        }
    }
}
